package com.dbs;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

// 添加发现服务能力
@EnableDiscoveryClient
@SpringBootApplication
// 开启断路器功能
@EnableCircuitBreaker
public class RibbonApplication {

	/**
	 * 理论上这个放在其他包中也行，例如config包
	 * 
	 * @author dongbisheng
	 * @return
	 */
	@Bean
	// 开启均衡负载能力
	@LoadBalanced
	// 不能private 应该是因为这是配置文件@bean
	RestTemplate restTemplate() {
		return new RestTemplate();
	}

	public static void main(String[] args) {
		SpringApplication.run(RibbonApplication.class, args);
	}
}
